<!DOCTYPE html>
<html lang="en">

<head>
  <meta charset="UTF-8" />
  <meta name="viewport" content="width=device-width, initial-scale=1.0" />
  <title>Document</title>
  <script src="../lib/index.js"></script>
</head>

<body>
  <canvas id="canvasId" width="400" height="400"></canvas>
</body>

</html>
<script>
  const ctx = document.getElementById("canvasId");
  const gl = ctx.getContext("webgl");

  // 定义顶点着色器源码 gl_Position vec4(1.0, 0.0, 0.0, 1.0) x,y,z, w齐次坐标 （x/w,y/w,z/w）
  const VERTEX_SHADER_SOURCE = `
    attribute vec4 aPosition;
    void main() {
      // 设置顶点位置
      gl_Position = aPosition;
      // 设置点的大小
      gl_PointSize = 30.0;
    }
  `;

  // 定义片元着色器源码
  const FRAGMENT_SHADER_SOURCE = `
    // 主函数
    void main() {
      // 设置片元颜色为红色
      gl_FragColor = vec4(1.0, 0.0, 0.0, 1.0);
    }
  `;


  const program = initShader(gl, VERTEX_SHADER_SOURCE, FRAGMENT_SHADER_SOURCE);

  const aPosition = gl.getAttribLocation(program, "aPosition"); // 获取attribute变量的存储位置

  let x = 0
  setInterval(() => {
    x += 0.1;
    if (x > 1.0) {
      x = 0
    }
    gl.vertexAttrib4f(aPosition, x, x, 0.0, 1.0); // 设置attribute变量的值
    // 绘制一个点
    gl.drawArrays(gl.POINTS, 0, 1); // gl.POINTS绘制点，0表示从第0个点开始绘制，1表示绘制1个点
  }, 200)
</script>